package beans;

import java.util.Comparator;

/**
 * Beans Module permettant la sauvegarde d'une matière dans la base de données
 * @author Amanda & Rami
 */
public class Module implements Comparator<Module> {

    private int idModule;
    private String nom;

    /**
     * Constructeur par défaut
     */
    public Module() {
        idModule = 0;
        nom = null;
    }

    /**
     * Constructeur prenant en paramètre l'identifiant, le nom du module
     * @param idModule Identifiant du module
     * @param nom Nom du module
     */
    public Module(int idModule, String nom) {
        this.idModule = idModule;
        this.nom = nom;
    }

    /**
     * Getter / Setter
     * @param idModule Identifiant du module
     */
    public Module(int idModule) {
        this.idModule = idModule;
        this.nom = null;
    }

    /**
     * Getter / Setter
     * @return idModule
     */
    public int getIdModule() {
        return idModule;
    }

    /**
     * Getter / Setter
     * @return nom
     */
    public String getNom() {
        return nom;
    }

    /**
     * Getter / Setter
     * @param nom Nom du module
     */
    public void setNom(String nom) {
        this.nom = nom;
    }

    @Override
    public int hashCode() {
        return this.idModule;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Module other = (Module) obj;
        if (this.idModule != other.idModule) {
            return false;
        }
        return true;
    }

    public int compare(Module o1, Module o2) {
        if (o1.getIdModule() == o2.getIdModule()) {
            return 0;
        } else {
            return -1;
        }
    }
}
